#!/bin/bash

# =========================================================
# Agent 打包脚本
# 功能：打包 agent 项目为 agent.tar.gz
# 使用方式：bash pack_agent.sh
# =========================================================

# 颜色定义
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

echo -e "${BLUE}========================================${NC}"
echo -e "${GREEN}Agent 项目打包${NC}"
echo -e "${BLUE}========================================${NC}"
echo ""

# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"

# 检查必需文件
if [ ! -f "main.py" ]; then
    echo -e "${YELLOW}⚠️  警告：未找到 main.py，请确认在正确的目录${NC}"
    exit 1
fi

# 删除旧的压缩包
if [ -f "agent.tar.gz" ]; then
    echo -e "${YELLOW}删除旧的压缩包...${NC}"
    rm -f agent.tar.gz
fi

# 打包文件
echo -e "${BLUE}正在打包 agent 项目...${NC}"
tar -czf agent.tar.gz \
  --exclude='__pycache__' \
  --exclude='*.pyc' \
  --exclude='*.pyo' \
  --exclude='logs' \
  --exclude='screenshots' \
  --exclude='.git' \
  --exclude='.gitignore' \
  --exclude='.idea' \
  --exclude='.vscode' \
  --exclude='.venv' \
  --exclude='venv' \
  --exclude='env' \
  --exclude='.env.local' \
  --exclude='node_modules' \
  --exclude='.DS_Store' \
  --exclude='Thumbs.db' \
  --exclude='*.log' \
  --exclude='state.json' \
  --exclude='agent.tar.gz' \
  --exclude='agent.zip' \
  --exclude='pack_agent.sh' \
  --exclude='pack_agent.ps1' \
  --exclude='pack_simple.ps1' \
  --exclude='pack_en.ps1' \
  *

# 检查打包结果
if [ $? -eq 0 ]; then
    FILE_SIZE=$(du -h agent.tar.gz | cut -f1)
    echo ""
    echo -e "${GREEN}✅ 打包成功！${NC}"
    echo -e "${GREEN}   文件: agent.tar.gz${NC}"
    echo -e "${GREEN}   大小: $FILE_SIZE${NC}"
    echo ""
    echo -e "${BLUE}========================================${NC}"
    echo -e "${YELLOW}下一步操作：${NC}"
    echo ""
    echo -e "${BLUE}1. 上传到控制端服务器：${NC}"
    echo -e "   scp agent.tar.gz root@your-server:/tmp/"
    echo ""
    echo -e "${BLUE}2. 在管理后台进行部署：${NC}"
    echo -e "   - 进入【服务器管理】菜单"
    echo -e "   - 选择要部署的服务器"
    echo -e "   - 点击【批量部署Agent】按钮"
    echo -e "   - 填写文件路径：/tmp/agent.tar.gz"
    echo -e "   - 开始部署"
    echo ""
    echo -e "${BLUE}========================================${NC}"
else
    echo -e "${RED}❌ 打包失败${NC}"
    exit 1
fi

